#ifndef __PROGRAM_MANAGER_H__
#define __PROGRAM_MANAGER_H__

#include <vector>
#include <stdio.h>
#include <singleton.h>
#include <program.h>

class ProgramManager 
{
	SINGLETON(ProgramManager);

	private:
		std::map<const char *, Program *> mMapPrograms;

	public:
		void add(const char * tag, Program * p);
		Program * getProgram(const char * by_tag);
		void debug();
};

#define PROGRAM_MANAGER SINGLETONINSTANCE(ProgramManager)
#endif //  __PROGRAM_MANAGER_H__
